using System;
using UnityEngine;

[Serializable]
public struct FlightParams
{
	public Vector3 position;

	public Vector3 velocity;

	public Vector3 angularVelocity;

	public Vector3 optionalNormal;

	public void SetPosition(Vector3 position)
	{
		this.position = position;
	}

	public static FlightParams Lerp(FlightParams from, FlightParams to, float t)
	{
		FlightParams result = default(FlightParams);
		result.position = Vector3.Lerp(from.position, to.position, t);
		result.velocity = Vector3.Lerp(from.velocity, to.velocity, t);
		result.angularVelocity = Vector3.Lerp(from.angularVelocity, to.angularVelocity, t);
		return result;
	}

	public static FlightParams CatmullRomLerp(FlightParams p1, FlightParams p2, FlightParams p3, FlightParams p4, float t)
	{
		FlightParams result = default(FlightParams);
		result.position = Vector3Ex.CatmullRomLerp(p1.position, p2.position, p3.position, p4.position, t);
		result.velocity = Vector3Ex.CatmullRomLerp(p1.velocity, p2.velocity, p3.velocity, p4.velocity, t);
		result.angularVelocity = Vector3Ex.CatmullRomLerp(p1.angularVelocity, p2.angularVelocity, p3.angularVelocity, p4.angularVelocity, t);
		return result;
	}
}
